package com.swanclouds.api.managers;

import com.swanclouds.common.RestService;
import com.swanclouds.model.common.ActionResponse;
import com.swanclouds.redfish.managers.domain.DiagnosticServiceModel;
import com.swanclouds.redfish.managers.domain.VirtualMediaModel;

/**
 * @author 李文强
 * description
 */

public interface DiagnosticService extends RestService {

    /**
     * 查询诊断服务
     * @return DiagnosticServiceModel
     */
    DiagnosticServiceModel get();

    /**
     * 触发Kvm故障截屏
     * @return DiagnosticServiceModel
     */
    DiagnosticServiceModel captureScreenShot();

    /**
     * 删除 kvm 故障截屏
     * @return DiagnosticServiceModel
     */
    DiagnosticServiceModel deleteScreenShot();

    /**
     * 下载kvm故障截屏
     * @return ActionResponse
     */
    ActionResponse downloadScreenShot();

    /**
     * 黑盒日志收集
     * @return VirtualMediaModel
     */
    VirtualMediaModel collectBlackBox();

    /**
     * 黑盒日志导出
     * @return ActionResponse
     */
    ActionResponse exportBlackBox();

    /**
     * 查询黑盒日志收集状态
     * @return VirtualMediaModel
     */
    VirtualMediaModel getCollectBlackBox();
}
